var dispalyName;

function calcPrice(obj){
	var price = 0;
	 $('#productTbody tr').each(function(i){                   // 遍历 tr
		 $(this).children('td').each(function(j){  // 遍历 tr 的各个 td
			 if(j == 3){
				 price = price * 1 + $(this).children('input')[0].value * 1;
			 }
	      });
	   });
	 $("#totalAmount").text(price);
	 $("#amount").val(price);
}

$(function(){
	$('select').select2({
	    minimumResultsForSearch: Infinity
	});
	
	 $("#projectName").off().on("change",function(){  
         var data = $(this).val();  
         if(data && data != -1){
        	 data = data + '';
        	 if(data.indexOf(',') > 0){
        		 var arr = data.split(","); 
        		 data = arr[arr.length - 1]
        	 }
        	 $.get(contextpath + "product/getDetail/" + data,function(result){
            	 $("#totalAmount").text($("#totalAmount").text() * 1 + result.price);
            	 $("#amount").val($("#totalAmount").text());
            	 addTr("productTbody", "<tr><td>" + result.parentName + "</td><td>" + result.name + "</td><td><input value='1' type='text' required='true' number='true'></input></td><td><input type='text' onblur='calcPrice(this)' required='true' number='true' value='" + result.price + "'></input></td><td style='display:none;'>" + result.id + "</td><td><a onclick='delRow(this)'>删除</a></td></tr>");
             });
         }
         $('#projectName').val("")
	 });  
	
	 $(".js-example-basic-single").select2();
	$('#createTime').daterangepicker(
			  { 
				  "singleDatePicker": true,
				  "parentEl":$("#min-panel"),
			    locale:{
			    	format: 'YYYY-MM-DD',
		            applyLabel: '确认',
		            cancelLabel: '取消',
		            fromLabel: '从',
		            toLabel: '到',
		            customRangeLabel: '选择时间',
		            daysOfWeek:["日","一","二","三","四","五","六"],
		            monthNames: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
		        }
			  }
			);
	 $('#createTime').val($("#createTimeHidden").val().substring(0, 10));
	
	 $("#submitEdit").click(function(){
			if($("#edit").valid()){
				var value = "";
				 $('#productTbody tr').each(function(i){                   // 遍历 tr
					 $(this).children('td').each(function(j){  // 遍历 tr 的各个 td
						 if(j == 2 || j == 3){
							 value += "," + $(this).children('input')[0].value;
						 }else if(j != 5){
							 value += "," + $(this).text();
						 }
				      });
					 value +=";";
				   });
				 $("#productMsg").val(value);
				 
				$.post(contextpath + "cOrder/save", $("#edit").serialize(), function(){
					$('.datatable-basic').DataTable().draw();
					$('.close').click();
					swal("编辑订单成功","", "success");
					window.location = contextpath + "cOrder/toOrder?buttonId=btnGroup0";
				})
			}
		});
});


 function addTr(tab, trHtml){
     var $tr=$("#"+tab);
     $tr.append(trHtml);
  }
   
  function delRow(obj){
	  $(obj).parent().parent().children('td').each(function(i){   
		  // 遍历 tr
				 if(i == 3){
					 var price = $(this).text();
					 $("#totalAmount").text($("#totalAmount").text() * 1 - $(this).find("input")[0].value);
					 $("#amount").val($("#totalAmount").text());
				 }
		   });
	 $(obj).parent().parent().remove();
  }

//实现增加行  
    function addRow(){  
		var projectName = $("#projectName").val();
		var projectText = $("#projectName").find("option:selected").text();
		var price = $("#price").val();
		var  productName = $("#productName").val();
		if(!projectText){
			alert('请选择产品');
			return;
		}
		if(!price){
			alert('请输入产品价格');
			return;
		}
		if(productName.length > 1 && productName.indexOf(projectText) != -1){
			alert('该产品已经添加.');
			return;
		}
        //获取当前表格的行数 （注意这里的初始值为1，因为addRow按纽是第一行，而第一行数据的编号也应该为1）  
        //#tb 通过表格的id获取表格对象 再通过父子关系中的tr 来定位到tr对象  
        var tempRows = $("#tb tr").size();  
        //创建新的一行  
        $tr = $("<tr></tr>");  
        //创建新的一行的第一列，即第一个td，也就是行编号这个单元格(并设置id属性，为后面的删除操作中需要定位到具体哪一行做准备)  
        $tdNum = $("<td id=\""+tempRows+"\"></td>");  
        //text()方法为jquery对象的文本内容赋值。  
        //第一次增加则第一行的编号为1，第二次增加的时候已经有两行了，所以tempRows的值为2，刚好第二行数据编号也应该为2  
        $tdNum.text(tempRows-1);  
        //创建第二列，即第二个td，也就是名字这个单元格  
        $tdID = $("<td></td>");  
        $tdID.text(projectName);  
        $tdName = $("<td></td>");  
        $tdName.text(projectText);  
        //创建第三列，即第三个td，也就是删除按钮这个单元格  
        
        $tdPrice = $("<td></td>");  
        $tdPrice.text(price);  
        $tdDelete = $("<td></td>");  
        //创建删除按钮  
        //在删除function中传入this关键字，即当前对象，也就是这一行的这一个删除按钮  
        $deleteButton = $("<input type='button' value='删除产品' onclick='deleteRow(this)'>");  
          
        //将删除按钮添加到第三列，即第三个td(单元格)里面去  
        $tdDelete.append($deleteButton);  
        //依次将三个td对象(行编号、名字、删除按钮)添加到tr对象里面去  
        $tr.append($tdNum); 
        $tr.append($tdID); 
        $tr.append($tdName);  
        $tr.append($tdPrice);  
        $tr.append($tdDelete);  
        var txt = "id="+projectName + "&" + "name="+projectText + "&" + "price=" + price+";";
        $("#productName").val($("#productName").val() + txt);
        //最后将已经囊括了三个td对象的tr对象添加到表格里面去  
        $("#tb").append($tr);  
    }  
      
    //a代表需要传递的参数  
    function deleteRow(a){  
        //删除行  
        //通过传递过来的this关键字，即当前操作对象，定位到删除按钮，  
        //再通过parent()定位到所在的td对象，进而再通过parent()定位到td对象所在的tr对象，最后将这个tr对象删除  
        $(a).parent().parent().remove();  
        //获取当前要删除的行的编号  
        //parent()定位到td对象，两次prev()依次定位到第二个td和第一个td，  
        //最终text()获取第一个td的数据，即行编号  
        
        var rowNum = $(a).parent().prev().prev().text();
        var price=$(a).parent().prev().text();
        var projectText = $(a).parent().prev().prev().text();
        var projectName = $(a).parent().prev().prev().prev().text();
        var txt = "id="+projectName + "&" + "name="+projectText + "&" + "price=" + price+";";
        var productName = $("#productName").val();
        if(productName.indexOf(projectText) != -1){
        	productName = productName.replace(txt,'');
        }
        $("#productName").val(productName);
        //获取总行数  
        //(注意是删除后的总行数，与下面for循环中的<=相对应，若在删除操作之前获取总行数，则在for循环应将结束循环的条件定义为i<temRows)  
        var temRows = $("#tb tr").size();  
        //i=parseInt(rowNum)+1    ： 从下一行(即被删除行的后面一行)开始逐行修改编号    
        //前面的行编号不动，但后面的编号需要减1  
        //pareseInt方法将字符串数据变为int类型  
        for(i=parseInt(rowNum)+1;i<=temRows;i++){  
            //通过id选择器获取到具体的哪一行的第一列，并将第一列，即行编号这个单元格中的数据减1  
            $("#"+i).text(i-1);  
            //同时通过attr("属性名",属性值)方法将其id属性也减1  
            $("#"+i).attr("id",i-1);  
        }  
    }  
